Fixed b'.' cannot be converted to a float error in parseN #60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I wrote this change because I was importing a .dbf file to Pandas. I was continually getting a set of errors of this format:
ValueError: could not convert string to float: b'.'
I traced it back to the parseN method. What I believe was happening was there were ',' entries with absolutely no digits somehow being flagged as floats. I added the length check to the exception handling to avoid this situation and now my document imports correctly. I have only tested with Python 3.x versions. I also added a test to test_field_parser.py to maintain this behavior.
I chose to convert to NaN and not None because NaN is a float value and because Pandas attempts to convert all missing data to NaN.